home *** CD-ROM | disk | FTP | other *** search
/ Winzipper / Winzipper_ISO.iso / nt4.0 server / OEMNADEN.IN_ / oemnaden.inf
INI File  |  1996-07-12  |  24KB  |  641 lines

  1. [Identification]
  2.     OptionType = NetAdapter
  3. [PlatformsSupported]
  4.     MCA
  5. [Options]
  6.     ELNK3MCA
  7. [FileConstants]
  8. UtilityInf      = "UTILITY.INF"
  9. subroutineinf   = "SUBROUTN.INF"
  10. SoftwareType    = "driver"
  11. Exit_Code       = 0
  12. NetEventDLL     = "%SystemRoot%\System32\netevent.dll"
  13. IoLogMsgDLL     = "%SystemRoot%\System32\IoLogMsg.dll"
  14. ELNK3MCA_1BYTE    = { 124, 125, 219, 246, 247 }
  15. ELNK3MCA_2BYTE    = { 98, 98, 97, 98, 98 }
  16. NETCARD_ID      = { 25212, 25213, 25051, 25334, 25335 }
  17. Manufacturer    = "Microsoft"
  18. ProductMajorVersion     = "4"
  19. ProductMinorVersion     = "0"
  20. ProductVersion  = $(ProductMajorVersion)"."$(ProductMinorVersion)
  21. ProductSoftwareName     = "Elnk3"
  22. ProductSoftwareImagePath = "\SystemRoot\system32\drivers\elnk3.sys"
  23. NetRuleSoftwareType     = "elnk3Sys ndisDriver elnk3Driver"
  24. NetRuleSoftwareUse      = $(SoftwareType)
  25. NetRuleSoftwareBindForm = """Elnk3Sys"" yes no container"
  26. NetRuleSoftwareClass    = {"elnk3Driver basic"}
  27. NetRuleSoftwareBindable = {"elnk3Driver elnk3Adapter non exclusive 100"}
  28. ProductHardwareName     = "Elnk3"
  29. NetRuleHardwareType     = "elnk3 elnk3Adapter"
  30. NetRuleHardwareBindForm = " yes yes container"
  31. NetRuleHardwareClass    = {"elnk3Adapter basic"}
  32. ProductOpSupport     = 132 
  33. ProductKeyName  = $(!NTN_SoftwareBase)"\"$(Manufacturer)"\"$(ProductSoftwareName)"\CurrentVersion"
  34. ParamKeyName    = $(!NTN_ServiceBase)"\"$(ProductHardwareName)"\Parameters"
  35. [GeneralConstants]
  36. from      = ""
  37. to        = ""
  38. ExitCodeOk     = 0
  39. ExitCodeCancel = 1
  40. ExitCodeFatal  = 2
  41. KeyNull         = ""
  42. MAXIMUM_ALLOWED   = 33554432
  43. RegistryErrorIndex = NO_ERROR
  44. KeyProduct      = ""
  45. KeyParameters   = ""
  46. TRUE            = 1
  47. FALSE           = 0
  48. NoTitle            = 0
  49. ExitState   = "Active"
  50. OldVersionExisted = $(FALSE)
  51. DriverPath      = $(!STF_NTPATH)\drivers
  52. [date]
  53.     Now = {} ? $(!LIBHANDLE) GetSystemDate
  54. [Identify]
  55.     read-syms Identification
  56.     set Status     = STATUS_SUCCESSFUL
  57.     set Identifier = $(OptionType)
  58.     set Media      = #("Source Media Descriptions", 1, 1)
  59.     Return $(Status) $(Identifier) $(Media)
  60. [ReturnOptions]
  61.     set Status        = STATUS_FAILED
  62.     set OptionList     = {}
  63.     set OptionTextList = {}
  64.     set LanguageList = ^(LanguagesSupported, 1)
  65.     Ifcontains(i) $($0) in $(LanguageList)
  66.         ifstr(i) $($1) == ""
  67.            goto returnoptions
  68.         endif
  69.         set PlatformList = ^(PlatformsSupported, 1)
  70.         Ifcontains(i) $($1) in $(PlatformList)
  71.            goto returnoptions
  72.         else
  73.            set Status = STATUS_NOTSUPPORTED
  74.            goto finish_ReturnOptions
  75.         endif
  76.     else
  77.         set Status = STATUS_NOLANGUAGE
  78.         goto finish_ReturnOptions
  79.     endif
  80. returnoptions = +
  81.     set OptionList     = ^(Options, 1)
  82.     set OptionTextList = ^(OptionsText$($0), 1)
  83.     set Status         = STATUS_SUCCESSFUL
  84. finish_ReturnOptions = +
  85.     Return $(Status) $(OptionList) $(OptionTextList)
  86. [InstallOption]
  87.     set Option   = $($1)
  88.     set SrcDir   = $($2)
  89.     set AddCopy  = $($3)
  90.     set DoCopy   = $($4)
  91.     set DoConfig = $($5)
  92.     set LanguageList = ^(LanguagesSupported, 1)
  93.     Ifcontains(i) $($0) NOT-IN $(LanguageList)
  94.         Return STATUS_NOLANGUAGE
  95.     endif
  96.     Debug-Output "OEMNADEN.INF: STF_CWDIR is: "$(!STF_CWDIR)
  97.     Debug-Output "OEMNADEN.INF: STF_LANGUAGE is: "$(!STF_LANGUAGE)
  98.     set-subst LF = "\n"
  99.     read-syms GeneralConstants
  100.     read-syms FileConstants
  101.     read-syms DialogConstants$(!STF_LANGUAGE)
  102.     read-syms FileConstants$(!STF_LANGUAGE)
  103.     detect date
  104.     set-title  $(FunctionTitle)
  105.     set to   = Begin
  106.     set from = Begin
  107.     set CommonStatus = STATUS_SUCCESSFUL
  108.     EndWait
  109. Begin = +
  110.     Ifstr(i) $(!NTN_InstallMode) == deinstall
  111.         set StartLabel = removeadapter
  112.     else-Ifstr(i) $(!NTN_InstallMode) == Update
  113.         set StartLabel = UpgradeSoftware
  114.     else-Ifstr(i) $(!NTN_InstallMode) == bind
  115.         set StartLabel = bindingadapter
  116.     else-Ifstr(i) $(!NTN_InstallMode) == configure
  117.         set CommonStatus = STATUS_REBOOT
  118.         Ifstr(i) $(ProductKeyName) == $(!NTN_RegBase)
  119.             Debug-Output "Cannot configure the elink II driver software."
  120.             Shell $(UtilityInf),RegistryErrorString,CANNOT_CONFIGURE_SOFTWARE
  121.         else
  122.             Debug-Output "Cannot configure the elink II adapter card."
  123.             Shell $(UtilityInf),RegistryErrorString,CANNOT_CONFIGURE_HARDWARE
  124.         endif
  125.         ifint $($ShellCode) != $(!SHELL_CODE_OK)
  126.             Debug-Output "ShellCode error: cannot get an error string."
  127.             goto ShellCodeError
  128.         endif
  129.         set Error = $($R0)
  130.         set from = end
  131.         set to = end
  132.         goto nonfatalinfo
  133.     else
  134.         set StartLabel = installadapter
  135.         set OEM_ABANDON_OPTIONS = {}
  136.         set OEM_ABANDON_SOFTWARE = FALSE
  137.         set OEM_ABANDON_ON = TRUE
  138.     endif
  139.     set from = $(fatal)
  140.     set to = $(fatal)
  141.     goto $(StartLabel)
  142. installadapter = +
  143.     OpenRegKey $(!REG_H_LOCAL) "" $(ProductKeyName) $(MAXIMUM_ALLOWED) KeyProduct
  144.     Ifstr $(KeyProduct) != $(KeyNull)
  145.         CloseRegKey $(KeyProduct)
  146.         ifstr(i) !(NTN_RegBase) == $(ProductKeyName)
  147.            Shell $(UtilityInf), VerExistedDlg, $(ProductSoftwareTitle),+
  148.                $(ProductVersion)
  149.            ifint $($ShellCode) != $(!SHELL_CODE_OK)
  150.                Debug-Output "ShellCode error: cannot get an error string."
  151.                goto ShellCodeError
  152.            endif
  153.            goto end
  154.         else
  155.            Shell $(UtilityInf), CardExistedDlg
  156.            ifint $($ShellCode) != $(!SHELL_CODE_OK)
  157.                Debug-Output "ShellCode error: cannot get an error string."
  158.                goto ShellCodeError
  159.            endif
  160.            ifstr(i) $($R1) != "OK"
  161.                Set CommonStatus = STATUS_USERCANCEL
  162.                goto end
  163.            endif
  164.            set OldVersionExisted = $(TRUE)
  165.         endif
  166.     endif
  167.     goto nextstep
  168. configureadapter = +
  169.     set Error = "Configure: Not Implmemented yet"
  170.     goto fatal
  171. nextstep = +
  172.     StartWait
  173. installproduct = +
  174.     set cardlist = {}
  175.     Shell $(UtilityInf), MCAFindBus, *($(ELNK3MCA_1BYTE),1), *($(ELNK3MCA_2BYTE),1)
  176.     ifint $($ShellCode) != $(!SHELL_CODE_OK)
  177.         goto ShellCodeError
  178.     endif
  179.     ifstr $($R0) != "NO_ERROR"
  180.         set Error = $($R0)
  181.         goto fatal
  182.     endif
  183.     ifstr(i) $($R1) != {}
  184.         set cardlist = $($R1)
  185.     endif
  186.     Shell $(UtilityInf), MCAFindBus, *($(ELNK3MCA_1BYTE),2), *($(ELNK3MCA_2BYTE),2)
  187.     ifint $($ShellCode) != $(!SHELL_CODE_OK)
  188.         goto ShellCodeError
  189.     endif
  190.     ifstr $($R0) != "NO_ERROR"
  191.         set Error = $($R0)
  192.         goto fatal
  193.     endif
  194.     ifstr(i) $($R1) != {}
  195.         ifstr(i) $(cardlist) != {}
  196.             set cardlist = >($(cardlist),$($R1))
  197.         else
  198.             set cardlist = $($R1)
  199.         endif
  200.     endif
  201.     Shell $(UtilityInf), MCAFindBus, *($(ELNK3MCA_1BYTE),3), *($(ELNK3MCA_2BYTE),3)
  202.     ifint $($ShellCode) != $(!SHELL_CODE_OK)
  203.         goto ShellCodeError
  204.     endif
  205.     ifstr $($R0) != "NO_ERROR"
  206.         set Error = $($R0)
  207.         goto fatal
  208.     endif
  209.     ifstr(i) $($R1) != {}
  210.         ifstr(i) $(cardlist) != {}
  211.             set cardlist = >($(cardlist),$($R1))
  212.         else
  213.             set cardlist = $($R1)
  214.         endif
  215.     endif
  216.     Shell $(UtilityInf), MCAFindBus, *($(ELNK3MCA_1BYTE),4), *($(ELNK3MCA_2BYTE),4)
  217.     ifint $($ShellCode) != $(!SHELL_CODE_OK)
  218.         goto ShellCodeError
  219.     endif
  220.     ifstr $($R0) != "NO_ERROR"
  221.         set Error = $($R0)
  222.         goto fatal
  223.     endif
  224.     ifstr(i) $($R1) != {}
  225.         ifstr(i) $(cardlist) != {}
  226.             set cardlist = >($(cardlist),$($R1))
  227.         else
  228.             set cardlist = $($R1)
  229.         endif
  230.     endif
  231.     Shell $(UtilityInf), MCAFindBus, *($(ELNK3MCA_1BYTE),5), *($(ELNK3MCA_2BYTE),5)
  232.     ifint $($ShellCode) != $(!SHELL_CODE_OK)
  233.         goto ShellCodeError
  234.     endif
  235.     ifstr $($R0) != "NO_ERROR"
  236.         set Error = $($R0)
  237.         goto fatal
  238.     endif
  239.     ifstr(i) $($R1) != {}
  240.         ifstr(i) $(cardlist) != {}
  241.             set cardlist = >($(cardlist),$($R1))
  242.         else
  243.             set cardlist = $($R1)
  244.         endif
  245.     endif
  246.     ifstr(i) $(cardlist) == {}
  247.         set Error = $(CANNOT_FIND_ANY_CARD)
  248.         set CommonStatus = STATUS_USERCANCEL
  249.         set from = "end"
  250.         goto nonfatal
  251.     endif
  252.     set AdapterList = $(cardlist)
  253.     ifint $(OldVersionExisted) == $(FALSE)
  254.         ifstr(i) $(!NTN_InstallMode) == "install"
  255.            Ifstr(i) $(DoCopy) == "YES"
  256.               Shell $(UtilityInf), DoAskSource, $(!STF_CWDDIR), $(SrcDir) YES
  257.               Ifint $($ShellCode) != $(!SHELL_CODE_OK)
  258.                   Goto ShellCodeError
  259.               Else-Ifstr(i) $($R0) == STATUS_FAILED
  260.                   Shell $(UtilityInf) RegistryErrorString "ASK_SOURCE_FAIL"
  261.                   ifint $($ShellCode) != $(!SHELL_CODE_OK)
  262.                       goto ShellCodeError
  263.                   endif
  264.                   set Error = $($R0)
  265.                   Goto fatal
  266.               Else-Ifstr(i) $($R0) == STATUS_USERCANCEL
  267.                   Goto successful
  268.               Endif
  269.               Set SrcDir = $($R1)
  270.            Endif
  271.            install "Install-Option"
  272.            ifstr(i) $(STF_INSTALL_OUTCOME) != STF_SUCCESS
  273.               Shell $(UtilityInf) RegistryErrorString "UNABLE_COPY_FILE"
  274.               ifint $($ShellCode) != $(!SHELL_CODE_OK)
  275.                   goto ShellCodeError
  276.               endif
  277.               set Error = $($R0)
  278.               goto fatal
  279.            endif
  280.         endif
  281.         Shell $(UtilityInf), AddSoftwareComponent, $(Manufacturer), +
  282.             $(ProductSoftwareName), +
  283.             $(ProductSoftwareName), +
  284.             $(ProductSoftwareTitle), $(STF_CONTEXTINFNAME), +
  285.             $(ProductSoftwareImagePath), "kernel", "NDIS", {}, "",+
  286.             $(NetEventDLL)
  287.         Set OEM_ABANDON_SOFTWARE = TRUE
  288.         ifint $($ShellCode) != $(!SHELL_CODE_OK)
  289.             goto ShellCodeError
  290.         endif
  291.         set RegistryErrorIndex = $($R0)
  292.         Ifstr(i) $(RegistryErrorIndex) != "NO_ERROR"
  293.             EndWait
  294.             CloseRegKey $($R1)
  295.             CloseRegKey $($R2)
  296.             CloseRegKey $($R3)
  297.             CloseRegKey $($R4)
  298.             CloseRegKey $($R5)
  299.             goto fatalregistry
  300.         endif
  301.         Set SoftProductKey      = $($R1)
  302.         Set SoftNetRuleKey      = $($R2)
  303.         Set SoftServiceKey      = $($R3)
  304.         Set SoftParameterKey    = $($R4)
  305.         Set SoftLinkageKey      = $($R5)
  306.         set NewValueList = {{SoftwareType,$(NoTitle),$(!REG_VT_SZ),$(SoftwareType)},+
  307.                            {MajorVersion,$(NoTitle),$(!REG_VT_DWORD),$(ProductMajorVersion)},+
  308.                            {MinorVersion,$(NoTitle),$(!REG_VT_DWORD),$(ProductMinorVersion)},+
  309.                            {Title,$(NoTitle),$(!REG_VT_SZ),$(ProductSoftwareTitle)},+
  310.                            {Description,$(NoTitle),$(!REG_VT_SZ),$(ProductSoftwareDescription)},+
  311.                            {ServiceName,$(NoTitle),$(!REG_VT_SZ),$(ProductSoftwareName)},+
  312.                            {InstallDate,$(NoTitle),$(!REG_VT_DWORD),*($(Now),1)}}
  313.         Shell  $(UtilityInf), AddValueList, $(SoftProductKey), $(NewValueList)
  314.         ifint $($ShellCode) != $(!SHELL_CODE_OK)
  315.             goto ShellCodeError
  316.         endif
  317.         set RegistryErrorIndex = $($R0)
  318.         Ifstr(i) $(RegistryErrorIndex) != "NO_ERROR"
  319.             EndWait
  320.             CloseRegKey $(SoftProductKey)
  321.             CloseRegKey $(SoftNetRuleKey)
  322.             CloseRegKey $(SoftServiceKey)
  323.             CloseRegKey $(SoftParameterKey)
  324.             CloseRegKey $(SoftLinkageKey)
  325.             goto fatalregistry
  326.         endif
  327.         set NewValueList = {{type,$(NoTitle),$(!REG_VT_SZ),$(NetRuleSoftwareType)},+
  328.                             {use,$(NoTitle),$(!REG_VT_SZ),$(NetRuleSoftwareUse)}, +
  329.                             {bindform,$(NoTitle),$(!REG_VT_SZ),$(NetRuleSoftwareBindForm)}, +
  330.                             {class,$(NoTitle),$(!REG_VT_MULTI_SZ),$(NetRuleSoftwareClass)}, +
  331.                             {bindable,$(NoTitle),$(!REG_VT_MULTI_SZ),$(NetRuleSoftwareBindable)}, +
  332.                             {InfOption,$(NoTitle),$(!REG_VT_SZ),$(Option)}}
  333.         Shell  $(UtilityInf), AddValueList, $(SoftNetRuleKey), $(NewValueList)
  334.         ifint $($ShellCode) != $(!SHELL_CODE_OK)
  335.             goto ShellCodeError
  336.         endif
  337.         set RegistryErrorIndex = $($R0)
  338.         CloseRegKey $(SoftProductKey)
  339.         CloseRegKey $(SoftNetRuleKey)
  340.         CloseRegKey $(SoftServiceKey)
  341.         CloseRegKey $(SoftParameterKey)
  342.         CloseRegKey $(SoftLinkageKey)
  343.         Ifstr(i) $(RegistryErrorIndex) != "NO_ERROR"
  344.             EndWait
  345.             goto fatalregistry
  346.         endif
  347.     endif
  348.     ForListDo $(AdapterList)
  349.         set BusNum = *($($),1)
  350.         set SlotNum = *($($),2)
  351.         set McaPosId = *($($),3)
  352.         Debug-Output $(BusNum)
  353.         Debug-Output $(SlotNum)
  354.         Shell $(UtilityInf), IsNetCardAlreadyInstalled, $(BusNum), +
  355.             $(SlotNum), $(ProductHardwareDescription), $(ProductHardwareName)
  356.         ifint $($ShellCode) != $(!SHELL_CODE_OK)
  357.             goto ShellCodeError
  358.         endif
  359.         ifstr $($R0) != "NO_ERROR"
  360.             set Error = $($R0)
  361.             goto fatal
  362.         endif
  363.         ifstr(i) $($R1) != "YES"
  364.                 Shell $(UtilityInf), AddHardwareComponent, $(ProductHardwareName),$(STF_CONTEXTINFNAME),$(ProductKeyName)
  365.                 ifint $($R4) != -1
  366.                     Set OEM_ABANDON_OPTIONS = >($(OEM_ABANDON_OPTIONS), $(!NTN_SoftwareBase)"\Microsoft\Windows NT\CurrentVersion\NetworkCards\"$($R4))
  367.                 endif
  368.                 ifint $($ShellCode) != $(!SHELL_CODE_OK)
  369.                     goto ShellCodeError
  370.                 endif
  371.                 set RegistryErrorIndex = $($R0)
  372.                 Ifstr(i) $(RegistryErrorIndex) != "NO_ERROR"
  373.                     EndWait
  374.                     CloseRegKey $($R1)
  375.                     CloseRegKey $($R2)
  376.                     CloseRegKey $($R3)
  377.                     goto fatalregistry
  378.                 endif
  379.                 Set HardNetCardKey      = $($R1)
  380.                 Set HardNetRuleKey      = $($R2)
  381.                 Set HardParameterKey    = $($R3)
  382.                 set AdapterNumber       = $($R4)
  383.                 set NewValueList = {{Manufacturer,$(NoTitle),$(!REG_VT_SZ),$(Manufacturer)},+
  384.                                    {Title,$(NoTitle),$(!REG_VT_SZ),"["$($R4)"] "$(ProductHardwareTitle)},+
  385.                                    {Description,$(NoTitle),$(!REG_VT_SZ),$(ProductHardwareDescription)},+
  386.                                    {ProductName,$(NoTitle),$(!REG_VT_SZ),$(ProductHardwareName)},+
  387.                                    {ServiceName,$(NoTitle),$(!REG_VT_SZ),$($R5)},+
  388.                                    {OperationsSupport,$(NoTitle),$(!REG_VT_DWORD),$(ProductOpSupport)},+
  389.                                    {InstallDate,$(NoTitle),$(!REG_VT_DWORD),*($(Now),1)}}
  390.                 Shell  $(UtilityInf), AddValueList, $(HardNetCardKey), $(NewValueList)
  391.                 ifint $($ShellCode) != $(!SHELL_CODE_OK)
  392.                     goto ShellCodeError
  393.                 endif
  394.                 set NewValueList = {{BusNumber,$(NoTitle),$(!REG_VT_DWORD),$(BusNum)},+
  395.                                 {BusType,$(NoTitle),$(!REG_VT_DWORD),3},+
  396.                                 {McaPosId,$(NoTitle),$(!REG_VT_DWORD),$(McaPosId)},+
  397.                                 {CardType,$(NoTitle),$(!REG_VT_DWORD),2},+
  398.                                 {MediaType,$(NoTitle),$(!REG_VT_DWORD),1},+
  399.                                 {SlotNumber,$(NoTitle),$(!REG_VT_DWORD),$(SlotNum)}}
  400.                 Shell  $(UtilityInf), AddValueList, $(HardParameterKey), $(NewValueList)
  401.                 ifint $($ShellCode) != $(!SHELL_CODE_OK)
  402.                     goto ShellCodeError
  403.                 endif
  404.                 set TempProdName = """"$(ProductHardwareName)$(AdapterNumber)""""
  405.                 set TempBindForm = $(TempProdName)$(NetRuleHardwareBindForm)
  406.                 set NewValueList = {{type,$(NoTitle),$(!REG_VT_SZ),$(NetRuleHardwareType)},+
  407.                                     {bindform,$(NoTitle),$(!REG_VT_SZ),$(TempBindForm)}, +
  408.                                     {class,$(NoTitle),$(!REG_VT_MULTI_SZ),$(NetRuleHardwareClass)}, +
  409.                                     {InfOption,$(NoTitle),$(!REG_VT_SZ),$(Option)}}
  410.                 Shell  $(UtilityInf), AddValueList, $(HardNetRuleKey), $(NewValueList)
  411.                 CloseRegKey $(HardNetCardKey)
  412.                 CloseRegKey $(HardNetRuleKey)
  413.                 CloseRegKey $(HardParameterKey)
  414.                 ifint $($ShellCode) != $(!SHELL_CODE_OK)
  415.                     goto ShellCodeError
  416.                 endif
  417.          endif
  418.     EndForListDo
  419.     goto writeparameters
  420. writeparameters = +
  421.     EndWait
  422.     goto successful
  423. bindingadapter =+
  424.     set Error = "Binding: Not Implmemented yet"
  425.     goto fatal
  426. removeadapter = +
  427.     Ifstr(i) $(ProductKeyName) == $(!NTN_RegBase)
  428.         Shell $(UtilityInf), RemoveSoftwareComponent, $(Manufacturer), +
  429.             $(ProductSoftwareName)
  430.         ifint $($ShellCode) != $(!SHELL_CODE_OK)
  431.             Debug-Output "ShellCode error"
  432.             goto ShellCodeError
  433.         endif
  434.         set RegistryErrorIndex = $($R0)
  435.         Ifstr(i) $(RegistryErrorIndex) != NO_ERROR
  436.             goto fatalregistry
  437.         endif
  438.     else
  439.         Shell $(UtilityInf), RemoveHardwareComponent, $(Manufacturer), +
  440.             $(ProductSoftwareName), $(!NTN_RegBase)
  441.         ifint $($ShellCode) != $(!SHELL_CODE_OK)
  442.             Debug-Output "ShellCode error"
  443.             goto ShellCodeError
  444.         endif
  445.         set RegistryErrorIndex = $($R0)
  446.         Ifstr(i) $(RegistryErrorIndex) != NO_ERROR
  447.             goto fatalregistry
  448.         endif
  449.     endif
  450.     goto end
  451. UpgradeSoftware = +
  452.     OpenRegKey $(!REG_H_LOCAL) "" $(ProductKeyName) $(MAXIMUM_ALLOWED) KeyProduct
  453.     Ifstr $(KeyProduct) != $(KeyNull)
  454.         install "Install-Update"
  455.         ifstr(i) $(STF_INSTALL_OUTCOME) != STF_SUCCESS
  456.             goto fatal
  457.         endif
  458.         SetRegValue $(KeyProduct) {MajorVersion,$(NoTitle),$(!REG_VT_SZ),$(ProductMajorVersion)}
  459.         SetRegValue $(KeyProduct) {MinorVersion,$(NoTitle),$(!REG_VT_SZ),$(ProductMinorVersion)}
  460.         CloseRegKey $(KeyProduct)
  461.     else
  462.         goto fatalregistry
  463.     endif
  464.     set iSearch = 1
  465. nextnetcard = +
  466.     Shell $(UtilityInf), FindNextNetworkCard, $(ProductHardwareName), $(iSearch)
  467.     set KeyNetcard = $($R0)
  468.     set iSearch = $($R1)
  469.     Debug-Output "OemNadEp.Inf: FindNextNetworkCard "$(KeyNetcard)","$(iSearch)
  470.     Ifstr $(KeyNetcard) != $(KeyNull)
  471.         Debug-Output "OemNadEp.Inf: Setting OperationsSupport value"
  472.         SetRegValue $(KeyNetcard) {OperationsSupport,$(NoTitle),$(!REG_VT_DWORD),$(ProductOpSupport)}
  473.         CloseRegKey $(KeyNetcard)
  474.         goto nextnetcard
  475.     Endif
  476.     goto end
  477. successful = +
  478.     goto end
  479. abandon = +
  480.     ForListDo $(OEM_ABANDON_OPTIONS)
  481.         Shell $(UtilityInf), RemoveHardwareComponent, $(Manufacturer), +
  482.             $(ProductSoftwareName), $($)
  483.         ifint $($ShellCode) != $(!SHELL_CODE_OK)
  484.             Debug-Output "ShellCode error"
  485.             goto ShellCodeError
  486.         endif
  487.         set RegistryErrorIndex = $($R0)
  488.         Ifstr(i) $(RegistryErrorIndex) != NO_ERROR
  489.             goto fatalregistry
  490.         endif
  491.     EndForListDo
  492.     Ifstr(i) $(OEM_ABANDON_SOFTWARE) == TRUE
  493.         Shell $(UtilityInf), RemoveSoftwareComponent, $(Manufacturer), +
  494.             $(ProductSoftwareName), FALSE
  495.         ifint $($ShellCode) != $(!SHELL_CODE_OK)
  496.             Debug-Output "ShellCode error"
  497.             goto ShellCodeError
  498.         endif
  499.         set RegistryErrorIndex = $($R0)
  500.         Ifstr(i) $(RegistryErrorIndex) != NO_ERROR
  501.             goto fatalregistry
  502.         endif
  503.     endif
  504.     goto end
  505. warning = +
  506.     Shell $(subroutineinf) SetupMessage, $(!STF_LANGUAGE), "WARNING", $(Error)
  507.     ifint $($ShellCode) != $(!SHELL_CODE_OK)
  508.         goto ShellCodeError
  509.     endif
  510.     ifstr(i) $($R1) == "OK"
  511.         goto $(to)
  512.     else-ifstr(i) $($R1) == "CANCEL"
  513.         goto $(from)
  514.     else
  515.         goto "end"
  516.     endif
  517. nonfatalinfo = +
  518.     Set CommonStatus = STATUS_USERCANCEL
  519.     Set Severity = STATUS
  520.     goto nonfatalmsg
  521. nonfatal = +
  522.     Set Severity = NONFATAL
  523.     goto nonfatalmsg
  524. nonfatalmsg = +
  525.     ifstr(i) $(Error) == ""
  526.         Set Severity = NONFATAL
  527.         Shell $(UtilityInf) RegistryErrorString "SETUP_FAIL"
  528.         ifint $($ShellCode) != $(!SHELL_CODE_OK)
  529.             goto ShellCodeError
  530.         endif
  531.         set Error = $($R0)
  532.     endif
  533.     Shell $(subroutineinf) SetupMessage, $(!STF_LANGUAGE), $(Severity), $(Error)
  534.     ifint $($ShellCode) != $(!SHELL_CODE_OK)
  535.         goto ShellCodeError
  536.     endif
  537.     ifstr(i) $($R1) == "OK"
  538.         goto $(from)
  539.     else
  540.         goto "end"
  541.     endif
  542. fatalregistry = +
  543.     Shell $(UtilityInf) RegistryErrorString $(RegistryErrorIndex)
  544.     ifint $($ShellCode) != $(!SHELL_CODE_OK)
  545.         goto ShellCodeError
  546.     endif
  547.     set Error = $($R0)
  548.     goto fatal
  549. fatal = +
  550.     ifstr(i) $(Error) == ""
  551.         Shell $(UtilityInf) RegistryErrorString "SETUP_FAIL"
  552.         ifint $($ShellCode) != $(!SHELL_CODE_OK)
  553.             goto ShellCodeError
  554.         endif
  555.         set Error = $($R0)
  556.     endif
  557.     Shell $(subroutineinf) SetupMessage, $(!STF_LANGUAGE), "FATAL", $(Error)
  558.     ifint $($ShellCode) != $(!SHELL_CODE_OK)
  559.         goto ShellCodeError
  560.     endif
  561.     goto setfailed
  562. ShellCodeError = +
  563.     set DlgType      = "MessageBox"
  564.     set STF_MB_TITLE = $(ShellCodeErrorTitle)
  565.     set STF_MB_TEXT  = $(ShellCodeErrorText)
  566.     set STF_MB_TYPE  = 1
  567.     set STF_MB_ICON  = 3
  568.     set STF_MB_DEF   = 1
  569.     ui start "Error Message"
  570.     goto setfailed
  571. setfailed = +
  572.     set CommonStatus = STATUS_FAILED
  573.     ifstr(i) $(OEM_ABANDON_ON) == TRUE
  574.         set OEM_ABANDON_ON = FALSE
  575.         goto abandon
  576.     endif
  577.     goto end
  578. end = +
  579.     goto term
  580. term = +
  581.     Return $(CommonStatus)
  582. [Install-Option]
  583.     set STF_VITAL = ""
  584.     ifstr(i) $(AddCopy) == "YES"
  585.         AddSectionFilesToCopyList Files-$(Option) $(SrcDir) $(!STF_WINDOWSSYSPATH)\drivers
  586.     endif
  587.     ifstr(i) $(DoCopy) == "YES"
  588.        set !STF_NCPA_FLUSH_COPYLIST = TRUE
  589.        CopyFilesInCopyList
  590.     endif
  591.     ifstr(i) $(DoConfig) == "YES"
  592.     endif
  593.     Exit
  594. [Install-Update]
  595.    set STF_VITAL        = ""
  596.    set STF_OVERWRITE    = "VERIFYSOURCEOLDER"
  597.    AddSectionFilesToCopyList Files-$(Option) $(SrcDir) $(!STF_WINDOWSSYSPATH)\drivers
  598.    exit
  599. [Source Media Descriptions]
  600.     1 = "Windows NT Server CD-ROM", TAGFILE = cdrom_s.40
  601. [Signature]
  602.     FileType = MICROSOFT_FILE
  603. [GetSignature]
  604.     read-syms Signature
  605.     return $(FileType)
  606. [ProductType]
  607. STF_PRODUCT  = LanmanNT
  608. STF_PLATFORM = I386
  609. [Files-Inf]
  610. 2,    oemsetup.inf,     SIZE=1000,    RENAME=$(!UG_Filename)
  611. [Files-ELNK3MCA]
  612. 1,ELNK3.SYS , SIZE=999
  613. [LanguagesSupported]
  614.     ENG
  615. [OptionsTextENG]
  616.     ELNK3MCA     = "3Com Etherlink III MCA Adapter"
  617. [FileConstantsENG]
  618. ProCaption   = "Windows NT Setup"
  619. ProCancel    = "Cancel"
  620. ProCancelMsg = "Windows NT Networking is not correctly installed.  "+
  621.                "Are you sure you want to cancel copying files?"
  622. ProCancelCap = "Network Setup Message"
  623. ProText1     = "Copying:"
  624. ProText2     = "To:"
  625. FunctionTitle   = "3Com Etherlink III MCA Adapter Card Setup"
  626. ProductSoftwareDescription      = "3Com Etherlink III MCA Adapter Driver"
  627. ProductHardwareDescription      = "3Com Etherlink III MCA Adapter"
  628. CANNOT_FIND_ANY_CARD            = "Network card is not present in the system"
  629. ProductSoftwareTitle    = "3Com Etherlink III MCA Adapter Driver"
  630. ProductHardwareTitle    = "3Com Etherlink III MCA Adapter"
  631. ShellCodeErrorTitle     = "Error: "$(FunctionTitle)
  632. ShellCodeErrorText      = "Shell Code Error."
  633. [DialogConstantsENG]
  634. Help        = "&Help"
  635. Exit        = "Cancel"
  636. OK          = "OK"
  637. HelpContext = ""
  638. Continue    = "C&ontinue"
  639. Cancel      = "C&ancel"
  640. [FileDependentDlgENG]
  641.